// 函数重载
function fn(n: string): string;
function fn(n: number): number;
function fn(n: string | number): string | number {
  return n;
}

fn("1");

// 接口合并
interface Person {
  name: string;
}
interface Person {
  age: number;
}

const obj: Person = {
  name: "jack",
  age: 18,
};

interface Window {
  Xxx: string;
}

window.Xxx;

/*
  1. JavaScript 没有重载概念，TypeScript 有可以重载和接口类型合并
  2. TypeScript 扩展更多的类型： 接口interface、泛型、enum、unknown、any、void、never 等；
  3. TypeScript 中引入了模块的概念，可以把声明、数据、函数和类封装在模块中；
*/

const arr = [];
